﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using UMLTouch.DomainRecognition;
using System.Windows;
using System.Windows.Controls;
using UMLTouch.Core.Entities;
using UMLTouch.Core.UI;


namespace UMLTouch.Business.MVC
{
    
    public class DiagramContextAddedEventArgs : EventArgs
	{
        public IDiagramContext Context { get; protected set;}
        public DiagramContextAddedEventArgs(IDiagramContext context)
	    {
            Context = context;
	    }
	}

    public interface IUMLTouchModel
    {
        event EventHandler<ItemAddedEventArgs> ItemRecognized;
        event EventHandler<DiagramContextAddedEventArgs> DiagramContextAdded;
        event EventHandler<UnknownItemAddedEventArgs> OnUnknownItemDetected;


        IEnumerable<IUMLTouchView> IUMLTouchView
        {
            get;
        }

        IEnumerable<IDiagramContext> IDiagramContext
        {
            get;
        }

        void RegisterView(IUMLTouchView view);
        void RegisterContext(IDiagramContext context);
    }
}
